package cn.tedu.store.order.service;

import cn.tedu.store.commons.pojo.order.dto.OrderAddNewDTO;
import cn.tedu.store.commons.pojo.order.dto.OrderListTimeDTO;
import cn.tedu.store.commons.pojo.order.dto.OrderUpdateStatusDTO;
import cn.tedu.store.commons.pojo.order.vo.OrderAddVO;
import cn.tedu.store.commons.pojo.order.vo.OrderListVO;
import cn.tedu.store.commons.web.JsonPage;

import java.util.List;

public interface IOrderService {
    /**
     * 新增订单
     * @param orderAddNewDTO 订单信息封装
     * @return 返回给前端的订单信息
     */
    OrderAddVO addOrder(OrderAddNewDTO orderAddNewDTO);

    /**
     * 更新订单状态
     * @param orderUpdateStatusDTO 新的订单状态
     */
    void updateOrder(OrderUpdateStatusDTO orderUpdateStatusDTO);

    /**
     * 根据用户选择的时间段查询订单列表
     * @param orderListTimeDTO 订单时间段信息封装
     * @return 订单列表
     */
    JsonPage<OrderListVO> listByTimeToTime(OrderListTimeDTO orderListTimeDTO);
}
